With the advent of increasingly sophisticated computer technology infrastructures, there has been a gradual movement toward facilitating and implementing telephony functions on desktop computers. Such telephony functions are provided by a desktop computer application, which communicates with a telephony line manager, which in turn, communicates with a telephony service provider component that provides the telephony line.
The Telephony Application Programming Interface (TAPI) specification of Microsoft.RTM. Windows.TM. is an example of a telephony line manager that allows first party call signal control to be provided to applications on desktop computers. Using a telephony line manager, like TAPI, applications can make calls, be notified about calls, answer calls, hold calls and perform other switch related functions as if the application is the end-point of the call.
Utilizing a telephony line manager, like TAPI, an application can access multiple telephone lines, with one or more addresses associated with each line. However, the mapping of addresses to lines is considered static. Each address can have one or more calls associated with it. For traditional analogue phone lines (often called POTS for Plain Old Telephone Service), each line, and therefore each address, can only have one active call at a time. Additional calls can be associated with the line but be on hold at the telephony switch.
Similarly, a telephony line manager, like TAPI, defines phone devices to represent the actual hardware as opposed to the logical line on which calls take place. A telephony line can appear on multiple phones and a phone can handle multiple lines. A telephony line manager, like TAPI, has been designed with the assumption that multiple line support must be built into the application.
The telephony line manager architecture, such as TAPI, provides for a very flexible mapping that attempts to encompass most desktop system configurations. However, for simplicity sake, many popular desktop applications, such as ACT| (Beta) by Semantec.RTM. and Algorythms PhoneKits.TM., facilitate call monitoring or control for only one line and one address at a time. They are not capable of handling multiple phone lines simultaneously. This limitation severely restricts the application's use on desktops with multiple phone lines, where there is a desire to use the application, but the application can only handle one of the multiple lines brought to the desktop.
Some of the limitations of the first-party call signal control of a telephony line manager, like TAPI, are provided by a telephony service provider component, such as a TSPI bridge to TSAPI (Third-Party Telephony Standard). While this TSAPI to TAPI bridge provides pseudo third-party call signal control and through the telephony service provider component, allows the telephony line manager and TSAPI to work together, it does not provide multiple line handling to applications only designed to handle a single line.